package com.dingreading.cloud.soms.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
public class SimpleCmserviceDto {

    /**
     * 订单号
     */
    private String orderCode;

    /**
     * uid
     */
    private String uid;

    /**
     * 产品编号
     * 体验会员:1，好读团:2，精读会:3，文学社:4，悦读坊:5，绘本营:6
     */
    private String productName;

    /**
     * 服务时长
     * 两周:14，三周:21，一个月:31，二个月:62，三个月:92，半年:183，一年:366，两年:731
     */
    private Integer serviceDays;

    /**
     * 总活动数
     */
    private Integer totalLessons;

    /**
     * 剩余活动数
     */
    private Integer leftLessons;

    /**
     * 状态 未开通:-1，暂停服务:0，服务中:1
     */
    private Integer status;

    private String statusName;

    /**
     * 暂停服务日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date pauseDate;

    /**
     * 暂停服务日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date transferDate;

    /**
     * 开始日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date beginDate;

    /**
     * 结束日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date endDate;

    /**
     * 备注
     */
    private String remarks;

    /**
     * 是否为赠送 是:1，否:0
     */
    private Integer isGift;

    /**
     * 收入类型
     */
    private String orderType;

    /**
     * 关联订单号
     */
    private String relationCode;

    /**
     * 关联服务uid 退费/变更
     */
    private String relationServiceUid;

    /**
     * 消耗/退费的活动数或天数
     */
    private Integer changeValue;

    /**
     * 变更状态 -6.已消耗 -7:已变更 -8:已退费 -9:已完结
     */
    private Integer changeStatus;

    private String changeStatusName;

    /**
     * 活动状态 1.可排活动 0.不可排活动
     */
    private Integer lessonStatus;

    /**
     * 活动次数状态 1.消耗次数 0.不消耗次数
     */
    private Integer freeStatus;

    private Integer productType;

    private String storeProductName;

    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date changeDate;

    /**
     * 已结课为1，未结课为0，默认为0
     */
    private Integer ending;

    /**
     * 正常消耗玩结课为1，退费、变更导致结课为2，手动结课为3，还会有其他系统强制结课待定义
     */
    private Integer endingType;

    /**
     * 操作结课的时间
     */
    @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endingTime;

    /**
     * 结课原因
     */
    private String endingRemark;
    /**
     * 主科目名称
     */
    private String mainSubjectName;
    /**
     * 科目名称
     */
    private String subjectName;
    /**
     * 阶段名称
     */
    private String stageName;
    /**
     * 服务激活金额
     */
    private Double activateAmount;
    /**
     * 支付类型 1.微信 2.支付宝 3.激活码
     */
    private Integer payType;

}
